Current versions of the Microsoft Windows® operating systems (starting with Windows 95®) utilize a centralized hierarchical database to store system settings, hardware configurations, and user preferences. This database is called the Windows Registry or more commonly known as the registry.
For example, the registry stores configuration information for hardware or software that is installed within the Windows® operating system, which allows the Window® operating system to retrieve the information at later dates, such as at start up. At start up, the Windows® operating system reads the configuration information in the registry to determine which drivers need to be loaded, which settings to be applied, and which resources need to be allocated.
In addition to operating system settings, the registry also stores user preferences and application settings. For example, when a user changes his or her desktop background, these details are stored in the registry. Application settings such as what directory to which a user prefers to download files may be stored in the registry as well. Thus, the registry contains information that the operating system continually references during operation of a computer.
Viruses, spyware, and other malware can cause corruption and damage to the registry. For example, one common problem involves the Windows® Socket, also know as Winsock. A Winsock is an application programming interface (API) which communicates with other machines via the TCP/IP protocol. Winsock settings maintained in the Windows® registry are often corrupted by the installation of other programs within the Windows® operating system. After Winsock settings in the registry are corrupted, applications that need the Winsock API to operate, such as web browsers, fail to function properly. Further, measures by users to reconfigure Winsock settings in the registry often lead to additional problems and malfunctions. Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.